﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CommonClasses.Services
{
    /// <summary>
    /// Представляет системный таймер.
    /// </summary>
    public interface ISystemTimer
    {
        /// <summary>
        /// True - таймер включен.
        /// </summary>
        bool Enabled { get; set; }
        /// <summary>
        /// Интервал между тиками таймера.
        /// </summary>
        int Interval { get; set; }
        /// <summary>
        /// Подисаться на обработку тика таймера
        /// </summary>
        /// <param name="handler">Метод, который подписывается.</param>
        void Subscribe(EventHandler handler);
        /// <summary>
        /// Снять подписку данного метода.
        /// </summary>
        /// <param name="handler">Метод, обрабатывавший тик таймера.</param>
        void DetachSubcribtion(EventHandler handler);
    }
}
